﻿//-----------------------------------------------------------------------------------
// WebTest Plugin Template version 1.0
//-----------------------------------------------------------------------------------

using System;
using Microsoft.VisualStudio.TestTools.WebTesting;

namespace $rootnamespace$
{

    [System.ComponentModel.DisplayName("$itemname$")]
    [System.ComponentModel.Description("TODO: Add a more detailed description of '$itemname$' WebTest Plugin.")]
    public class $safeitemname$ : WebTestPlugin
    {
        /// <summary>
        /// standard constructor
        /// </summary>
        public $safeitemname$() { }

        #region Properties
/*
 * Public properties on the class will be surfaced to the user in the VS UI.
 * Only string, int, and bool types are allowed.
 */ 
/*
        /// <summary>
        /// Sample string property
        /// </summary>
        private string m_myStringProperty;
        [System.ComponentModel.DisplayName("My String Property")]
        [System.ComponentModel.Description("Enter a long description for this property.")]
        [System.ComponentModel.DefaultValue("MyString")]
        public string MyStringProperty
        {
            get { return m_myStringProperty; }
            set { m_myStringProperty = value; }
        }
*/
        #endregion //Properties

        #region Methods

        // If you want to see what you can override, on a new line type "public override " then auto-complete 
        // will show the overridable methods

        /// <summary>
        /// Event fires before the web test is executed
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public override void PreWebTest(object sender, PreWebTestEventArgs e)
        {

        }

        /// <summary>
        /// Event fires after the web test is executed
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public override void PostWebTest(object sender, PostWebTestEventArgs e)
        {
        
        }

        /// <summary>
        /// Fires before each web page request
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
        
        }

        /// <summary>
        /// Fires after the primary web page is processed, but before any dependents are requested
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public override void PostRequest(object sender, PostRequestEventArgs e)
        {
        
        }

        #region VS2008SP1Methods
        // The following methods only exist if VS 2008 SP1 or > is applied

        /// <summary>
        /// Fires before the page is requested
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public override void PrePage(object sender, PrePageEventArgs e)
        {
        
        }

        /// <summary>
        /// Fires after the page and all dependent request are processed
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public override void PostPage(object sender, PostPageEventArgs e)
        {
        
        }

        /// <summary>
        /// Fires before a web transaction starts
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public override void PreTransaction(object sender, PreTransactionEventArgs e)
        {
       
        }

        /// <summary>
        /// Fires after a web transaction completes
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public override void PostTransaction(object sender, PostTransactionEventArgs e)
        {
         
        }
        #endregion
        #endregion
    }
}